Finding Root Causes of Floating Point Error with Herbgrind

نویسندگان

  • Alex Sanchez-Stern
  • Pavel Panchekha
  • Sorin Lerner
  • Zachary Tatlock
چکیده

Floating point arithmetic plays a central role in science, engineering, and €nance by enabling developers to approximately compute with real numbers. To address numerical issues in large ƒoating-point applications, developers must identify root causes, which is dicult because ƒoating point errors are generally silent, non-local, and non-compositional. Œis paper presents Herbgrind, a tool to help developers identify and address root causes in typical numerical code wriŠen in low-level C/C++ and Fortran. Herbgrind tracks dependencies between operations and program outputs to avoid false positives, and abstracts erroneous computations to a simpli€ed program fragment whose improvement can reduce output error. We perform several case studies applying Herbgrind to large, expert-cra‰ed numerical programs and show that it scales to applications spanning hundreds of thousands of lines, correctly handling the low-level details of modern ƒoating point hardware and mathematical libraries, and tracking error across function boundaries and through the heap.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A comparison of polynomial evaluation schemes

The goal of this paper is to analyze two polynomial evaluation schemes for multiple precision floating point arithmetic. Polynomials are used extensively in numerical computations (Taylor series for mathematical functions, root finding) but a rigorous bound of the error on the final result is seldom provided. We provide such an estimate for the two schemes and find how to reduce the number of o...

متن کامل

Proving the IEEE Correctness of Iterative Floating-Point Square Root, Divide, and Remainder Algorithms

The work presented in this paper was initiated as part of a study on software alternatives to the hardware implementations of floating-point operations such as divide and square root. The results of the study proved the viability of software implementations, and showed that certain proposed algorithms are comparable in performance to current hardware implementations. This paper discusses two co...

متن کامل

Fast Floating Point Square Root

Hain and Freire have proposed different floating point square root algorithms that can be efficiently implemented in hardware. The algorithms are compared and evaluated on both performance and precision.

متن کامل

Reduced Precision Checking to Detect Errors in Floating Point Arithmetic

We use reduced precision checking (RPC) to detect errors in floating point arithmetic. Prior work explored RPC for addition and multiplication. In this work, we extend RPC to a complete floating point unit (FPU), including division and square root, and we present precise analyses of the errors undetectable with RPC that show bounds that are smaller than prior work. We implement RPC for a comple...

متن کامل

Finding Compact L. R. Nackman

Practical solid modeling systems are plagued by numerical problems that arise from using floating-point arithmetic. For example, polyhedral solids are often represented by a combination of geometric and combinatorial information. The geometric information may consist of explicit plane equations, with floatingpoint coefficients; the combinatorial information may consist of face, edge, and vertex...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1705.10416  شماره 

صفحات  -

تاریخ انتشار 2017